1. Field of the Invention
The present invention relates to computing systems, and more particularly, to managing and storing boot trace information in network adapters.
2. Background of the Invention
Conventional computing systems typically include several functional components. These components may include a central processing unit (CPU), main memory, input/output (“I/O”) devices, and streaming storage devices (for example, tape drives). In conventional systems, the main memory is coupled to the CPU via a system bus or a local memory bus. The main memory is used to provide the CPU access to data and/or program information that is stored in main memory at execution time. Typically, the main memory is composed of random access memory (RAM) circuits. A computing system is often referred to as a host system.
Host systems are used in various applications and environments, including networks and storage area networks (“SAN”). SANs are commonly used to store and access data. SAN is a high-speed sub-network of shared storage devices, for example, disks and tape drives.
Host systems often communicate with storage systems via a host bus adapter (“HBA”, may also be referred to as a “controller” and/or “adapter”) using an interface, for example, the “PCI” (or PCI-X/PCI-Express) bus interface. The standard bus specifications are incorporated herein by reference in their entirety.
Various standard protocols are used to facilitate host system communication with SAN devices. Fibre Channel is one such standard. Fibre Channel is a set of American National Standard Institute (ANSI) standards, which provide a serial transmission protocol for storage and network protocols such as HIPPI, SCSI, IP, ATM and others. Fibre Channel provides an input/output interface to meet the requirements of both channel and network users. The Fibre Channel standards are incorporated herein by reference in their entirety.
Host systems use a set executable code, called “boot code” to install an operating system, for example, Windows® to start operating the system. Boot code can be stored locally in host memory or it can be acquired from a storage device that is connected to a SAN. If boot code is accessed from a SAN connected device, it is referred to as SAN boot.
Booting from SAN is advantageous, but comes with complications. For example, there are dedicated Fibre Channel HBAs connected to fabric switches often in complex configurations. If a failure occurs during SAN boot, it is very difficult to troubleshoot.
For example, in Windows® operating environment, to troubleshoot boot installation, a Microsoft Kernel Debugger is used. However, a standard operating system CD may not have any way to enable the debugger. A user has to copy the entire operating system CD image to a hard drive, modify certain files, enable the debugger and then re-create the operating system image. Thereafter, a debugging system is setup and connected with a serial cable, before installation can start.
When the operating system is not fully functional, during boot error, the host system simply provides some encrypted information and crash code. This makes it difficult to access boot errors.
A similar de-bugging problem occurs when basic input/output operating system (BIOS) code; extended firmware interface code (EFI) or any other code that a HBA executes from its read only memory during host system initialization. Currently, messages can only be displayed on a display device, but as the code executes, the messages simply scroll away.
Therefore, there is a need for a method and system to better manage boot trace information.